package site.jlopen.kuscia.enums;

/**
* @ClassName: KusciaErrorCodeEnum
* @Description: 官网：https://www.secretflow.org.cn/zh-CN/docs/kuscia/v0.9.0b0/reference/apis/error_code_cn
* @author ChenJiaLu
* @date 2024年7月13日 下午2:31:02
*
 */
public enum KusciaErrorCodeEnum {

	PARAMETER_ILLEGAL(11100, "请求入参校验错误"), 
	UNKNOWN_ERROR(11101, "未知异常"),
	PERMISSION_DENIED(11102, "权限校验异常"),
	
	;

	private final Integer code;

	private final String desc;

	KusciaErrorCodeEnum(Integer code, String desc) {
		this.code = code;
		this.desc = desc;
	}

	public Integer getCode() {
		return code;
	}

	public static String parse(Integer code) {
		for (KusciaErrorCodeEnum value : KusciaErrorCodeEnum.values()) {
			if (value.code.equals(code)) {
				return value.name();
			}
		}
		return null;
	}

	public KusciaErrorCodeEnum value(Integer code) {
		for (KusciaErrorCodeEnum value : KusciaErrorCodeEnum.values()) {
			if (value.code.equals(code)) {
				return value;
			}
		}
		return null;
	}

	public String desc(KusciaErrorCodeEnum value) {
		return value.desc;
	}

	public String desc(Integer code) {
		for (KusciaErrorCodeEnum value : KusciaErrorCodeEnum.values()) {
			if (value.code.equals(code)) {
				return value.desc;
			}
		}
		return null;
	}
}
